Course Information

๐Ÿ“ Course Information - studyguide & how to engage with this course

๐Ÿ“ขNOTE! This course is available with instructors and feedback on your work during the summer, but it can also be taken as a self-paced course whenever you like!

It is a great option if you feel you would benefit from some background knowledge about computer science and coding. You can select the topics that are most relevant to you, and complete the exercises and tutorials at your own pace.

The course breaks down common concepts and components with relatable, straightforward, step-by-step explanations. Itโ€™s perfect for digging into details that are often glossed over or not fully explained in the world of computer science. It's designed to give you a broad overview of coding, computers, and the web, helping you see how everything fits together and giving you a solid foundation to dive into the details.

๐Ÿš€How to get started

Get familair with the course site & course structure:

  • Navigate to the Home Page to understand the purpose of the course and the learning goals you are expected to achieve.
  • Read this page to learn how to follow the course - how to engage with the material and how the course is set up.
  • Get Slack. In the website menu, go to the webpage "Communication & Slack". Learn how we communicate during this course and follow the steps to set up Slack.
  • Navigate to "Content Overview", to get an overview of the full course.
  • Navigate to "Week 1 - Foundations of Computer Science" and get started.

๐Ÿ”Course Overview

Week 1Week 2Week 3Week 4
Foundations of Computer ScienceCore Computer Skills for CodersWhat is code?Networking & the Internet
History, Context, EthicsProgramming Environments & Development ToolsBasic binary and building blocksFrontEnd vs BackEnd & Client/Server model
MentalityThe Terminal and ShellsWhat is a programming language?Basic Datatypes & structures
Hardware and softwareFile SystemsLogicFunctions
MarkdownVersion Control & Git

๐Ÿ“š How to engage with the material

How to complete a week

For each week, there will be PDFs to read, videos to watch and tutorials.

Only engaing with part of the material won't provide the full course experienceโ€”each component is designed to complement the others.

  1. Read PDFs & watch videos
  2. Follow tutorials
  3. Download software & create accounts (if necessary)
  4. Complete exercises

๐Ÿ“– Reading

The course provides PDFs for reading material. They have more detailed and expanded information. These PDFs are written in a clear, beginner-friendly manner that simplifies complex ideas, and are designed to make it easy for beginners to understand the concepts. The examples and explanations provided are relatable, using everyday life references to ensure it's accessible to those with no prior experience. They offer an accessible overview and understanding of the topics, avoiding overly technical language. While the PDFs might seem long, but please don't be intimidated - this is because they break down difficult ideas for beginners and use visuals to enhance understanding.

๐Ÿ“บ Videos

The videos offer a broad overview, helping to contextualize and simplify challenging ideas, while the PDFs dive deeper with detailed explanations and thorough coverage of the topics. The videos are more conversational and relaxed, focusing on clarifying concepts and providing context rather than going through every point in the text. Since there are no slides or presentations, they're perfect for listening in the background as you absorb the material!

๐Ÿ–ฅ๏ธ Tutorials

The tutorials are designed for hands-on learning. Open the videos in one window and replicate the actions in another. Follow the steps as demonstrated, and feel free to replay sections if needed. Important: Iโ€™m using a Windows computer and working with GitBash, which is available for both macOS and Windows (with Linux commands). Please note that your experience might vary if you're using a Mac or Linux system.

๐Ÿ–ฅ๏ธ Downloads & Accounts

For those enrolling in the summer course, you'll be guided through downloading and installing the necessary software to prepare for the fall semester and familiarize yourself with the tools you'll be using. Please follow the instructions to set up your environment properly. Additionally, you'll need to create private accounts on GitHub and Replit. These accounts will be for your personal use, allowing you to manage your projects and track your work efficiently.

NOTE: If youโ€™re having trouble with setup, downloads, or anything similar, feel free to use the available resources for assistance!

๐Ÿ–‹๏ธ Exercises

The exercises are designed to provide hands-on practice and guide you on what to focus on. They are intentionally straightforward, with most steps already demonstrated in the tutorials. The goal of this course is to gently ease you into trying things out, helping you get your feet wet and become comfortable with the practical aspects! If you are having issues with the exercises, look at the tutorial for that topic, and ask your fellow students. Chances are that the tutorial demonstrates the steps you should be taking (with minor adjustments).

For those taking the summer course, submitting your work is a chance to receive feedback rather than a requirement for grading. Not completing an exercise wonโ€™t impact your fall course or grades. The exercises are designed to help you focus on key areas, get familiar with tools you'll be using, and provide feedback on where you might need to improve. During the summer course, the exercises will be handed in on Github, and will consist of imagefiles of screenshots OR text uploaded to Github.

๐Ÿ” OVERVIEW

The exercises are set up to get you familiar with key concepts, show you what's good to practice, and give you a chance to dive into some hands-on work - to give you an opportunity to get your feet wet. Those taking the summer course will get feedback - but it is not graded, and you do not pass/fail.

The exercises go through all topics from the different weeks, and mostly consist of hands-on projects (that you will be asked to screenshot and hand in for the summer course).

Some exercises will provide you with the commands needed for an action, while others won't. There's a reason for this. The idea is for you to start practicing googling solutions and asking ChatGPT for help. This skill is invaluable as a programmer - often, people around you might not have a solution to the problem, so it's up to you to work together to find one. This means searching online, asking questions on forums, and exploring other resources.

PLEASE DO NOT BE ALARAMED by the length of the PDF on exercises. IT IS NOT LONG BECAUSE THE EXERCISES ARE DIFFICULT, OR BECAUSE THEY'RE TIME-CONSUMING. It's lengthy because the assignments are extremely detailed, explanatory, and comprehensive, often giving you step-by-step instructions on what to do.

For those taking the summer course, there is also a guide on how to use git to hand in your assignments called Examination Help - How to use Git for Hand-ins provided.

If you encounter any issues or think the workload might be too much, please make yourself heard on Slack!

๐Ÿ“š MATERIALS